package com.mjf.system.domain.vo;

import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * 生成加工单 VO
 * </p>
 * 
 * @author 
 * @since 2025-04-05
 */
@Data
@ApiModel(value = "MjfManufactureOrderVO对象", description = "生成加工单及其明细")
public class MjfManufactureOrderVo {

    // MjfManufactureOrder字段
    @ApiModelProperty(value = "")
    private Long id;

    @ApiModelProperty(value = "单据编码")
    private String code;

    @ApiModelProperty(value = "")
    private String ts;

    @ApiModelProperty(value = "")
    private Integer status;

    @ApiModelProperty(value = "")
    private String dtoClassName;

    @ApiModelProperty(value = "")
    private String customer;

    @ApiModelProperty(value = "单据日期")
    private Date voucherDate;

    @ApiModelProperty(value = "业务类型")
    private String busiTypeId;

    @ApiModelProperty(value = "")
    private String busiTypeCode;

    @ApiModelProperty(value = "")
    private String busiTypeName;

    @ApiModelProperty(value = "部门")
    private String departmentId;

    @ApiModelProperty(value = "")
    private String departmentCode;

    @ApiModelProperty(value = "")
    private String departmentName;

    @ApiModelProperty(value = "负责人")
    private String person;

    @ApiModelProperty(value = "")
    private String project;

    @ApiModelProperty(value = "预计开工日期")
    private Date preStartDate;

    @ApiModelProperty(value = "预计完工日期")
    private Date preFinishDate;

    @ApiModelProperty(value = "开工日期")
    private Date startDate;

    @ApiModelProperty(value = "完工日期")
    private Date finishDate;

    @ApiModelProperty(value = "销售订单号")
    private String saleOrderCode;

    @ApiModelProperty(value = "")
    private String isProductAutoAddMaterial;

    @ApiModelProperty(value = "单据状态")
    private String voucherStateId;

    @ApiModelProperty(value = "")
    private String voucherStateCode;

    @ApiModelProperty(value = "")
    private String voucherStateName;

    @ApiModelProperty(value = "报检状态")
    private String qualityInspectionStateId;

    @ApiModelProperty(value = "报检状态")
    private String qualityInspectionStateCode;

    @ApiModelProperty(value = "报检状态")
    private String qualityInspectionStateName;

    @ApiModelProperty(value = "单据备注")
    private String memo;

    @ApiModelProperty(value = "")
    private String maker;

    @ApiModelProperty(value = "")
    private String reviser;

    @ApiModelProperty(value = "")
    private String auditor;

    @ApiModelProperty(value = "")
    private Date auditedDate;

    @ApiModelProperty(value = "")
    private String printCount;

    @ApiModelProperty(value = "")
    private String changer;

    @ApiModelProperty(value = "")
    private Date changeDate;

    // MjfManufactureOrderDetails字段
    @ApiModelProperty(value = "")
    private Long detailsId;

    @ApiModelProperty(value = "主单id")
    private Long mId;

    @ApiModelProperty(value = "")
    private String detailsTs;

    @ApiModelProperty(value = "")
    private Integer detailsStatus;

    @ApiModelProperty(value = "")
    private String hasPra;

    @ApiModelProperty(value = "产品条码")
    private String inventoryBarcode;

    @ApiModelProperty(value = "")
    private String detailsProject;

    @ApiModelProperty(value = "产品id")
    private String inventoryId;

    @ApiModelProperty(value = "产品编码")
    private String inventoryCode;

    @ApiModelProperty(value = "产品名称")
    private String inventoryName;

    @ApiModelProperty(value = "")
    private String inventoryImageFile;

    @ApiModelProperty(value = "")
    private String inventorySpecification;

    @ApiModelProperty(value = "")
    private String inventoryPriUserDefNvc1;

    @ApiModelProperty(value = "")
    private String inventoryPriUserDefNvc2;

    @ApiModelProperty(value = "")
    private String inventoryPriUserDefNvc3;

    @ApiModelProperty(value = "")
    private String inventoryPriUserDefNvc4;

    @ApiModelProperty(value = "")
    private String inventoryPriUserDefNvc5;

    @ApiModelProperty(value = "产品品牌")
    private String inventoryPriUserDefNvc6;

    @ApiModelProperty(value = "")
    private String inventoryPriUserDefNvc7;

    @ApiModelProperty(value = "")
    private BigDecimal inventoryPriUserDefDecm1;

    @ApiModelProperty(value = "")
    private BigDecimal inventoryPriUserDefDecm2;

    @ApiModelProperty(value = "")
    private BigDecimal inventoryPriUserDefDecm3;

    @ApiModelProperty(value = "")
    private BigDecimal inventoryPriUserDefDecm4;

    @ApiModelProperty(value = "")
    private BigDecimal inventoryPriUserDefDecm5;

    @ApiModelProperty(value = "")
    private BigDecimal inventoryPriUserDefDecm6;

    @ApiModelProperty(value = "")
    private String bomId;

    @ApiModelProperty(value = "")
    private String bomCode;

    @ApiModelProperty(value = "")
    private String bomName;

    @ApiModelProperty(value = "工艺路线")
    private String routing;

    @ApiModelProperty(value = "")
    private String blueprint;

    @ApiModelProperty(value = "")
    private String techRequirements;

    @ApiModelProperty(value = "")
    private String bomExpandTypeId;

    @ApiModelProperty(value = "")
    private String bomExpandTypeCode;

    @ApiModelProperty(value = "")
    private String bomExpandTypeName;

    @ApiModelProperty(value = "仓库")
    private String warehouse;

    @ApiModelProperty(value = "")
    private String batch;

    @ApiModelProperty(value = "单位id")
    private String unitId;

    @ApiModelProperty(value = "单位编码")
    private String unitCode;

    @ApiModelProperty(value = "单位名称")
    private String unitName;

    @ApiModelProperty(value = "数量")
    private BigDecimal quantity;

    @ApiModelProperty(value = "")
    private BigDecimal unitExchangeRate;

    @ApiModelProperty(value = "")
    private String unit2;

    @ApiModelProperty(value = "")
    private BigDecimal quantity2;

    @ApiModelProperty(value = "")
    private String compositionQuantity;

    @ApiModelProperty(value = "预开工日")
    private Date detailsPreStartDate;

    @ApiModelProperty(value = "预完工日")
    private Date detailsPreFinishDate;

    @ApiModelProperty(value = "")
    private Date detailsStartDate;

    @ApiModelProperty(value = "")
    private Date detailsFinishDate;

    @ApiModelProperty(value = "")
    private String isManualFinish;

    @ApiModelProperty(value = "需要成品检验")
    private String isNeedQualityInspection;

    @ApiModelProperty(value = "")
    private String inspectType;

    @ApiModelProperty(value = "")
    private BigDecimal inspectionSamplingRate;

    @ApiModelProperty(value = "")
    private BigDecimal wholeSuitTotalReportQuantity;

    @ApiModelProperty(value = "")
    private BigDecimal totalInspectionQuantity;

    @ApiModelProperty(value = "")
    private BigDecimal wholeSuitMaterialQuantity;

    @ApiModelProperty(value = "")
    private BigDecimal totalStockInQuantity;

    @ApiModelProperty(value = "")
    private BigDecimal totalInspectionQuantity2;

    @ApiModelProperty(value = "")
    private BigDecimal totalStockInQuantity2;

    @ApiModelProperty(value = "")
    private String sourceVoucherType;

    @ApiModelProperty(value = "")
    private String sourceVoucherCode;

    @ApiModelProperty(value = "销售订单号")
    private String detailsSaleOrderCode;

    @ApiModelProperty(value = "客户")
    private String detailsCustomer;

    @ApiModelProperty(value = "")
    private BigDecimal availableQuantity;

    @ApiModelProperty(value = "")
    private String availableCompositionQuantity;

    @ApiModelProperty(value = "")
    private BigDecimal existingQuantity;

    @ApiModelProperty(value = "")
    private String existingCompositionQuantity;

    @ApiModelProperty(value = "")
    private String barcode;
    
    @ApiModelProperty(value = "工序单生成状态：null或0-未生成，1-已生成")
    private Integer generateOrderStatus;
    
    private Integer pageNum;
    
    private Integer pageSize;
    
    private String startDateStr;
    
    private String endDateStr;
}